﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace _02_变量
{
    class Program
    {
        static void Main(string[] args)
        {
            //变量的语法：datatype identify

            //01_初始化：变量的初始化
            //int i;//定义，初始未赋值
            //Console.WriteLine(i);//报错：使用了未赋值的变量 "i"

            //02_类型推断：GetType() 获取不同变量的类型
            //int int_i = 89;
            //string string_i = "123";
            //bool bool_i = false;
            //Type type_int_i = int_i.GetType();
            //Type type_string_i = string_i.GetType();
            //Type type_bool_i = bool_i.GetType();
            //Console.WriteLine(type_int_i.ToString());//输出 int32
            //Console.WriteLine(type_string_i.ToString());//输出 string
            //Console.WriteLine(type_bool_i.ToString());//输出 boolean

            //03_作用域：
            //①{}变量的向外侧最近中括号之间
            //②for foreach等在（）：例如for(int i=0;i<count;i++).i的作用域就是for的（）内
            //03_情况1：如下定义 int i=3;和for中又定义了一个相同的i变量
            //int i = 3;//报错：因for中也定义了 变量 i，由于编译器是以上之下编译的，所以在下条语句中报错
            //报错：错误	1	不能在此范围内声明名为“i”的局部变量，
            //因为这样会使“i”具有不同的含义，而它已在“父级或当前”范围中表示其他内容了
            //for (int i = 0; i < 10; i++)
            //{
            //    Console.WriteLine(i);//循环输出0 1 2 3 4 5 6 7 8 9
            //}
            
            //04_常量的定义：const string string_i=string.Empty;
            const string string_i = "我是常量";
            Console.WriteLine(string_i);
            Console.ReadKey();
        }
    }
}


